/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package importing;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class ImportCSV {
    	private String zeile;
	private ArrayList list = new ArrayList();
        private ArrayList klassenNamen = new ArrayList();
        private ArrayList kLehrer = new ArrayList();
        private ArrayList ersteReihe =new ArrayList();
        private ArrayList fachListe = new ArrayList();
        private ArrayList lehrerSollListe = new ArrayList();
        private ArrayList<ArrayList<Object>> StundenFachListeh1 = new ArrayList<ArrayList<Object>>();
        private ArrayList<ArrayList<Object>> StundenFachListeh2 = new ArrayList<ArrayList<Object>>();
        private ArrayList<ArrayList<Object>> fachLehrerListeh1 = new ArrayList<ArrayList<Object>>();
        private ArrayList<ArrayList<Object>> fachLehrerListeh2 = new ArrayList<ArrayList<Object>>();
        
        
	private String[] split = null;    
        private static String datei  = "src/daten/11_ITA_Lehrer-Klassen-Einsatz.csv";


	public static void main(String[] args) {
		ImportCSV c = new ImportCSV();
		c.readData();
		c.printData();
	}

        /**
         * Liest die von der ODS umgewandelte CSV Datei ein.
         */
        private void setzeFachUndLehrerListe(){
            boolean bla = false;
            for (int i = 0;i <  ersteReihe.size(); i++) {
                if(ersteReihe.get(i).toString().trim().equals("W-Std.")){
                    bla = true;
                }
                    if(!bla)
                        fachListe.add(ersteReihe.get(i));
                    else
                        lehrerSollListe.add(ersteReihe.get(i));
            }
            lehrerSollListe.remove(0);
        }
	
	public void readData() {
                int reihenZaheler = 0;
                int reihenZaehler2 = 0;
		try {
				FileReader file = new FileReader(datei);
				BufferedReader data = new BufferedReader(file);
				while ((zeile = data.readLine()) != null) {
					split = zeile.split(";");        
                                        if(reihenZaheler > 2){
                                            StundenFachListeh1.add(new ArrayList<Object>());                                             
                                        }
					for(int i=0; i<split.length; i++) {     
                                            if(i != 0){
                                                if( i % 2 != 0 && reihenZaheler > 2 ){
                                                    StundenFachListeh1.get(reihenZaehler2).add(split[i].trim());                                                   
                                                }
                                            }                                                  
                                                       //leere Zeilen ignorieren
                                          if( !(split[i].equals("")) ){
                                                if( i == 0){
                                                    ersteReihe.add(split[i].trim());
                                                }
                                                if(reihenZaheler == 0 && i % 2 != 0){        
                                                   if(split[i].matches("[umoUMO][1-4]"))
                                                       //Klassenamen holen
                                                        klassenNamen.add(split[i].trim());                                                    
                                                }else if(reihenZaheler == 1 && i % 2 != 0){       
                                                        //KlassenLehrerNamen holen.
                                                        kLehrer.add(split[i].trim());                                                     
                                                }
                                                //eventuelle Leerzeichen zwischen zwei ';' entfernen 
                                                //und Wert in Liste schreiben
                                                list.add(split[i].trim());
                                            }
					}
                                        reihenZaheler++;                                      
				}
                                
                                setzeFachUndLehrerListe();
		} catch (FileNotFoundException e) {
			System.out.println("Datei nicht gefunden");
		} catch (IOException e) {
			System.out.println("E/A-Fehler");
		}
	}

        /**
         * Gibt die Daten zum Testen aus.
         */
	public void printData() {
		int max = StundenFachListeh1.size();
            for(int i=0; i<max; i++) {
                for(int l =0; l < StundenFachListeh1.get(i).size();l++){
		//System.out.println(list.get(i));
                    System.out.println(StundenFachListeh1.get(i).get(l));
                }
            }
            
            for(int i = 0;i < fachListe.size(); i++){
             //   System.out.println(fachListe.get(i));
            }
	}
}
